The FAMOOS Object - Oriented Reengineering Handbook
نویسندگان
چکیده
insert() abstract delete() abstract lookup() abstract forall() HashSet ... ListSet ... Set impl insert() delete() lookup() forall() deleteAll() union() constructor() changeImpl() SetImpl abstract insert() abstract delete() abstract lookup() abstract forall() abstract changeImpl() constructor (type subtypeSetImpl) { impl = new type ; }insert() abstract delete() abstract lookup() abstract forall() abstract changeImpl() constructor (type subtypeSetImpl) { impl = new type ; } changeImpl (type subtypeSetImpl) { impl.changeImpl(type) ; } HashSet ... changeImpl() {...} ListSet ... changeImpl() {...} 3c 3b Figure 2.52: Application of Design Pattern Operator Bridge (II) Set abstract insert() abstract delete() abstract lookup() abstract forall() deleteAll() union() HashSet hashtable htbl insert() {...} delete() {...} lookup() {...} forall() {...} ListSet list lst insert() {...} delete() {...} lookup() {...} forall() {...} 3b AbstractSet SetImpl impl insert() {...} delete() {...} lookup() {...} forall() {...} deleteAll() union() 3c 3aSet SetImpl impl insert() {...} delete() {...} lookup() {...} forall() {...} deleteAll() union() 3c 3a impl.insert(...); ... ... Figure 2.53: Application of a Bridge with refactorings (I)
منابع مشابه
A Pattern Language for Reverse Engineering Alpha-release of a Part of Forthcoming Book "object-oriented Reengineering, a Pattern-based Approach"
Since object-oriented programming is usually associated with iterative development, reverse engineering must be considered an essential facet of the object-oriented paradigm. The reverse engineering pattern language presented here summarises the reverse engineering experience gathered as part of the FAMOOS project, a project with the explicit goal of investigating reverse and reengineering tech...
متن کاملAn Exchange Model for Reengineering Tools
Tools support is recognised as a key issue in the reengineering of large scale object-oriented systems. However, due to the heterogeneity in today’s object-oriented programming languages, it is hard to reuse reengineering tools across legacy systems. This paper proposes a language independent exchange model, so that tools may perform their tasks independent of the underlying programming languag...
متن کاملCDIF as the Interchange Format between Reengineering Tools
Tool support is recognised as a key issue in the reengineering of large scale object-oriented systems. However, due to the heterogeneity in today’s object-oriented programming languages, it is hard to reuse reengineering tools across legacy systems. This paper proposes a language independent exchange model, so that tools may perform their tasks independent of the underlying programming language...
متن کاملA Pattern Language for Reverse Engineering1
Since object-oriented programming is usually associated with iterative development, reverse engineering must be considered an essential facet of the object-oriented paradigm. The reverse engineering pattern language presented here summarises the reverse engineering experience gathered as part of the FAMOOS project, a project with the explicit goal of investigating reverse and reengineering tech...
متن کاملMOOSE: an Extensible Language-Independent Environment for Reengineering Object-Oriented Systems
Surprising as it may seem, many of the early adopters of the object-oriented paradigm already face a number of problems typically encountered in large-scale legacy systems. The reengineering of those systems often poses problems because of the considerable size and complexity of such systems. In the context of the FAMOOS project we have developed a language independent environment called Moose ...
متن کاملTransform Condit ionals to Polymorphism1
Conditionals —i.e., switch statements, nested ifs— that are used to simulate polymorphism hamper evolution and flexibility of applications. The reengineering patterns presented in this paper show you how to transform conditionals in object-oriented code to improve the flexibility of application. This work has been funded by the Swiss Government under Project no. NFS-2000-46947.96 and BBW-96.001...
متن کامل